package com.tong.embeddedvr.service;

import com.tong.embeddedvr.dto.CollectionDTO;
import com.tong.embeddedvr.dto.TableReqDTO;
import com.tong.embeddedvr.dto.TableRspDTO;
import com.tong.embeddedvr.dto.UserInputDTO;
import com.tong.embeddedvr.entity.UserEntity;

import java.util.List;

/**
 * TODO
 *
 * @author gcl
 * @version 1.0
 * @date 2020/12/27 9:06
 */
public interface CollectionService {

     /**
      * @Description 根据教师id获取作业集表,java的方法这里不需要注明参数,因为参数可以通过重载来改变
      * @Author gcl
      * @Date 2020/12/27 10:23
      * @param: userInputDTO
      * @Return java.util.List<com.tong.embeddedvr.dto.CollectionDTO>
      */
     TableRspDTO showTable(TableReqDTO tableReqDTO, UserInputDTO userInputDTO) throws Exception;

     /**
      * @Description 获得所有没有过期且没有被当前用户选择的作业集
      * @Author gcl
      * @Date 2021/1/2 17:35
      * @param: userInputDTO
      * @Return java.util.List<com.tong.embeddedvr.dto.CollectionDTO>
      */
     List<CollectionDTO> showUnpassedCollection(UserInputDTO userInputDTO) throws Exception;

     /**
      * @Description 教师删除作业集
      * @Author gcl
      * @Date 2020/12/27 10:24
      * @param: collectionDTO
      * @Return java.lang.Integer
      */
     Integer delete(CollectionDTO collectionDTO);

     /**
      * @Description 添加作业集,需要检验时间的正确有效性
      * @Author gcl
      * @Date 2020/12/27 10:25
      * @param: collectionDTO
      * @Return java.lang.Integer
      */
     Integer add(CollectionDTO collectionDTO);

     /**
      * @Description 作业集信息
      * @Author gcl
      * @Date 2020/12/27 10:32
      * @param: collectionDTO
      * @Return java.util.List<com.tong.embeddedvr.dto.CollectionDTO>
      */
     CollectionDTO showCollectionInformation(CollectionDTO collectionDTO) throws Exception;
}
